package com.bosch.in.rtp1.ept.dao;

import java.sql.SQLException;
import java.util.List;

import com.bosch.in.rtp1.ept.model.dto.FshRcpChartValues;
import com.bosch.in.rtp1.ept.model.dto.FshRcpRecord;
import com.bosch.in.rtp1.ept.model.dto.SelectingString;
import com.bosch.in.rtp1.ept.model.technical.Condition4FinishRecipe;

/**
 * DAO interface to interact with Finished Recipe table.
 * @author LIV1HC
 *
 */

public interface FinishRecipeDao {
	/**
	 * Query to get list of location
	 * @return list location
	 * @throws SQLException
	 */
	List<SelectingString> getAllLocation() throws SQLException;
	
	/**
	 * Query to get list of stage
	 * @return list stage
	 * @throws SQLException
	 */
	List<SelectingString> getAllStage() throws SQLException;
	
	/**
	 * Query to get list of eqpType
	 * @return list eqpType
	 * @throws SQLException
	 */
	List<SelectingString> getAllEqpType() throws SQLException;
	
	/**
	 * Query to get list of ChartValues
	 *
	 * @param Condition4FinishRecipe specify search condition
	 * @return list of ChartValues
	 * @throws SQLException
	 */
	List<FshRcpChartValues> getFactorList(Condition4FinishRecipe condition4FinishRecipe) throws SQLException;
	
	/**
	 * Query to get list of FshRcpRecord
	 *
	 * @param Condition4FinishRecipe specify search condition
	 * @return list of FshRcpRecords
	 * @throws SQLException
	 */
	List<FshRcpRecord> getFinshedRecipes(Condition4FinishRecipe condition4FinishRecipe) throws SQLException;
	
	/**
	 * Get total number of all finished recipes records
	 * @return total number of finished recipes 
	 * @throws SQLException
	 */
	int getTotalFRRecords() throws SQLException;

}
